/* ==========================================================================
   Coinhub Funded — BTCPay Server custom theme (DARK)
   --------------------------------------------------------------------------
   Upload:  Server Settings › Branding › Custom theme
            Custom theme extension = "Dark"   (this file extends default.css
            + default-dark.css, so only brand overrides live here)
   Brand:   cyan #1FA9DF · orange #FF7B25 · deep navy #000815 · slate #28344A
   Font:    Inter (Google Fonts). If your instance's CSP blocks the import,
            delete the @import line — the stack falls back to Open Sans,
            which BTCPay ships.
   Version: 1.0 · 30 Oct 2026
   ========================================================================== */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");

:root {
  /* ---------------------------------------------------------------------
     1. General definitions — brand and neutral colours
     --------------------------------------------------------------------- */
  --btcpay-brand-primary: #1FA9DF;
  --btcpay-brand-secondary: #FF7B25;
  --btcpay-brand-tertiary: #1891C2;
  --btcpay-brand-dark: #000815;

  /* Navy neutral ramp. In dark mode BTCPay maps neutral-100 to the darkest
     surface and neutral-900 to the lightest text, so the ramp runs dark→light. */
  --btcpay-neutral-50:  #050C1B;   /* sidebar, top bar, code blocks */
  --btcpay-neutral-100: #0A1527;   /* page background */
  --btcpay-neutral-200: #142238;   /* light borders, striped rows */
  --btcpay-neutral-300: #1E2F4B;   /* medium borders, addons */
  --btcpay-neutral-400: #28344A;   /* brand slate */
  --btcpay-neutral-500: #4B5A75;
  --btcpay-neutral-600: #8291AB;   /* muted text */
  --btcpay-neutral-700: #A9B5C9;
  --btcpay-neutral-800: #D0D9E7;   /* form text */
  --btcpay-neutral-900: #F2F6FC;   /* headings / near-white text */
  --btcpay-neutral-dark-rgb: 75, 90, 117;

  /* Primary = brand cyan */
  --btcpay-primary-100: #D6F0FA;
  --btcpay-primary-100-rgb: 214,240,250;
  --btcpay-primary-200: #B3E3F6;
  --btcpay-primary-200-rgb: 179,227,246;
  --btcpay-primary-300: #86D2F0;
  --btcpay-primary-300-rgb: 134,210,240;
  --btcpay-primary-400: #54BFE8;
  --btcpay-primary-400-rgb: 84,191,232;
  --btcpay-primary-500: #1FA9DF;
  --btcpay-primary-500-rgb: 31,169,223;
  --btcpay-primary-600: #1891C2;
  --btcpay-primary-600-rgb: 24,145,194;
  --btcpay-primary-700: #137AA5;
  --btcpay-primary-700-rgb: 19,122,165;
  --btcpay-primary-800: #0F6287;
  --btcpay-primary-800-rgb: 15,98,135;
  --btcpay-primary-900: #0B4A68;
  --btcpay-primary-900-rgb: 11,74,104;
  --btcpay-primary-rgb: 31, 169, 223;
  --btcpay-primary-accent-rgb: 84, 191, 232;      /* lighter on hover (dark UI) */

  /* Info — reuse the cyan family so alerts and links stay on brand */
  --btcpay-blue-100: #D6F0FA;
  --btcpay-blue-100-rgb: 214,240,250;
  --btcpay-blue-200: #B3E3F6;
  --btcpay-blue-200-rgb: 179,227,246;
  --btcpay-blue-300: #86D2F0;
  --btcpay-blue-300-rgb: 134,210,240;
  --btcpay-blue-400: #54BFE8;
  --btcpay-blue-400-rgb: 84,191,232;
  --btcpay-blue-500: #1FA9DF;
  --btcpay-blue-500-rgb: 31,169,223;
  --btcpay-blue-600: #1891C2;
  --btcpay-blue-600-rgb: 24,145,194;
  --btcpay-blue-700: #137AA5;
  --btcpay-blue-700-rgb: 19,122,165;
  --btcpay-blue-800: #0F6287;
  --btcpay-blue-800-rgb: 15,98,135;
  --btcpay-blue-900: #0B4A68;
  --btcpay-blue-900-rgb: 11,74,104;
  --btcpay-blue-rgb: 31,169,223;

  /* Warning = brand orange (replaces BTCPay's yellow; "Processing" badges,
     warning alerts and buttons pick this up) */
  --btcpay-yellow-100: #FFF1E8;
  --btcpay-yellow-100-rgb: 255,241,232;
  --btcpay-yellow-200: #FFDCC6;
  --btcpay-yellow-200-rgb: 255,220,198;
  --btcpay-yellow-300: #FFC19A;
  --btcpay-yellow-300-rgb: 255,193,154;
  --btcpay-yellow-400: #FF9F5E;
  --btcpay-yellow-400-rgb: 255,159,94;
  --btcpay-yellow-500: #FF7B25;
  --btcpay-yellow-500-rgb: 255,123,37;
  --btcpay-yellow-600: #E0621A;
  --btcpay-yellow-600-rgb: 224,98,26;
  --btcpay-yellow-700: #B84D12;
  --btcpay-yellow-700-rgb: 184,77,18;
  --btcpay-yellow-800: #80350C;
  --btcpay-yellow-800-rgb: 128,53,12;
  --btcpay-yellow-900: #5A2508;
  --btcpay-yellow-900-rgb: 90,37,8;
  --btcpay-yellow-rgb: 255,123,37;

  /* Success green — a touch cooler so it sits well on navy */
  --btcpay-green-400: #5FD08A;
  --btcpay-green-400-rgb: 95,208,138;
  --btcpay-green-500: #2EBE6A;
  --btcpay-green-500-rgb: 46,190,106;
  --btcpay-green-600: #23A159;
  --btcpay-green-600-rgb: 35,161,89;
  --btcpay-green-700: #1B8449;
  --btcpay-green-700-rgb: 27,132,73;
  --btcpay-green-rgb: 46,190,106;

  /* Danger red — slightly softened for dark surfaces */
  --btcpay-red-500: #F0433A;
  --btcpay-red-500-rgb: 240,67,58;
  --btcpay-red-700: #B52B23;
  --btcpay-red-700-rgb: 181,43,35;
  --btcpay-red-rgb: 240,67,58;

  /* Shape, motion, type */
  --btcpay-border-radius: .5rem;
  --btcpay-border-radius-l: .75rem;
  --btcpay-border-radius-xl: 1rem;
  --btcpay-border-radius-xxl: 1.5rem;
  --btcpay-transition-duration-fast: .18s;
  --btcpay-transition-duration-default: .28s;
  --btcpay-font-family-base: "Inter", "Open Sans", "Helvetica Neue", Arial, sans-serif;

  /* ---------------------------------------------------------------------
     2. Purpose variables — map the brand onto BTCPay's roles
     --------------------------------------------------------------------- */
  --btcpay-bg-dark: var(--btcpay-neutral-50);
  --btcpay-bg-tile: #111F38;                       /* cards sit lighter than the page */

  --btcpay-body-bg-rgb: 10, 21, 39;
  --btcpay-body-bg-light: var(--btcpay-neutral-50);
  --btcpay-body-bg-medium: var(--btcpay-neutral-200);
  --btcpay-body-bg-striped: #0E1B31;
  --btcpay-body-bg-hover: #16284A;
  --btcpay-body-border-light: #1B2A44;
  --btcpay-body-border-medium: #27395A;
  --btcpay-body-text: #F2F6FC;
  --btcpay-body-text-rgb: 242, 246, 252;
  --btcpay-body-text-muted: #8291AB;
  --btcpay-body-text-warning-rgb: 255, 159, 94;
  --btcpay-body-link: var(--btcpay-primary);
  --btcpay-body-link-accent: var(--btcpay-primary-accent);
  --btcpay-body-link-accent-rgb: var(--btcpay-primary-accent-rgb);
  --btcpay-body-shadow: rgba(31, 169, 223, 0.25);

  --btcpay-primary: var(--btcpay-brand-primary);
  --btcpay-primary-accent: rgb(var(--btcpay-primary-accent-rgb));
  --btcpay-primary-text: #FFFFFF;
  --btcpay-primary-text-hover: #FFFFFF;
  --btcpay-primary-text-active: #FFFFFF;
  --btcpay-primary-bg-hover: var(--btcpay-primary-600);
  --btcpay-primary-bg-active: var(--btcpay-primary-700);
  --btcpay-primary-dim-bg: rgba(31, 169, 223, 0.14);
  --btcpay-primary-dim-bg-hover: rgba(31, 169, 223, 0.22);
  --btcpay-primary-dim-bg-active: rgba(31, 169, 223, 0.30);
  --btcpay-primary-dim-text: var(--btcpay-primary-300);
  --btcpay-primary-dim-text-active: var(--btcpay-primary-200);
  --btcpay-primary-shadow: rgba(31, 169, 223, 0.45);

  --btcpay-secondary: transparent;
  --btcpay-secondary-text: var(--btcpay-primary-300);
  --btcpay-secondary-text-hover: var(--btcpay-primary-200);
  --btcpay-secondary-text-active: var(--btcpay-primary);
  --btcpay-secondary-border: var(--btcpay-body-border-medium);
  --btcpay-secondary-border-hover: var(--btcpay-primary);
  --btcpay-secondary-border-active: var(--btcpay-primary-600);
  --btcpay-secondary-dim-bg: var(--btcpay-neutral-200);
  --btcpay-secondary-dim-bg-hover: var(--btcpay-neutral-300);
  --btcpay-secondary-dim-bg-active: var(--btcpay-neutral-400);
  --btcpay-secondary-dim-text: var(--btcpay-neutral-800);
  --btcpay-secondary-rgb: 10, 21, 39;

  /* Translucent "dim" surfaces for alerts/badges (instead of pastel boxes) */
  --btcpay-success-dim-bg: rgba(46, 190, 106, 0.14);
  --btcpay-success-dim-bg-hover: rgba(46, 190, 106, 0.22);
  --btcpay-success-dim-bg-active: rgba(46, 190, 106, 0.30);
  --btcpay-success-dim-border: rgba(46, 190, 106, 0.35);
  --btcpay-success-dim-text: #86E3AC;
  --btcpay-success-dim-text-active: #B6F0CC;
  --btcpay-success-shadow: rgba(46, 190, 106, 0.33);

  --btcpay-info-dim-bg: rgba(31, 169, 223, 0.14);
  --btcpay-info-dim-bg-hover: rgba(31, 169, 223, 0.22);
  --btcpay-info-dim-bg-active: rgba(31, 169, 223, 0.30);
  --btcpay-info-dim-border: rgba(31, 169, 223, 0.35);
  --btcpay-info-dim-text: #86D2F0;
  --btcpay-info-dim-text-active: #B3E3F6;
  --btcpay-info-shadow: rgba(31, 169, 223, 0.33);

  --btcpay-warning-text: #0A1527;
  --btcpay-warning-text-hover: #0A1527;
  --btcpay-warning-text-active: #0A1527;
  --btcpay-warning-dim-bg: rgba(255, 123, 37, 0.14);
  --btcpay-warning-dim-bg-hover: rgba(255, 123, 37, 0.22);
  --btcpay-warning-dim-bg-active: rgba(255, 123, 37, 0.30);
  --btcpay-warning-dim-border: rgba(255, 123, 37, 0.35);
  --btcpay-warning-dim-text: #FFB27A;
  --btcpay-warning-dim-text-active: #FFC9A2;
  --btcpay-warning-shadow: rgba(255, 123, 37, 0.33);

  --btcpay-danger-dim-bg: rgba(240, 67, 58, 0.14);
  --btcpay-danger-dim-bg-hover: rgba(240, 67, 58, 0.22);
  --btcpay-danger-dim-bg-active: rgba(240, 67, 58, 0.30);
  --btcpay-danger-dim-border: rgba(240, 67, 58, 0.35);
  --btcpay-danger-dim-text: #FF9A94;
  --btcpay-danger-dim-text-active: #FFC2BE;
  --btcpay-danger-shadow: rgba(240, 67, 58, 0.33);

  --btcpay-light: var(--btcpay-neutral-200);
  --btcpay-light-accent: var(--btcpay-neutral-300);
  --btcpay-light-text: var(--btcpay-neutral-800);
  --btcpay-light-dim-bg: var(--btcpay-neutral-50);
  --btcpay-light-rgb: 20, 34, 56;
  --btcpay-dark: var(--btcpay-neutral-800);
  --btcpay-dark-accent: var(--btcpay-neutral-700);
  --btcpay-dark-text: var(--btcpay-neutral-100);
  --btcpay-dark-dim-bg: var(--btcpay-neutral-900);
  --btcpay-dark-rgb: 208, 217, 231;

  /* ---------------------------------------------------------------------
     3. Component variables — header, nav, forms, toggles, footer, code
     --------------------------------------------------------------------- */
  --btcpay-header-bg: var(--btcpay-neutral-50);
  --btcpay-header-text: var(--btcpay-body-text);
  --btcpay-header-link: #C4CEDF;
  --btcpay-header-link-accent: #FFFFFF;
  --btcpay-header-link-active: var(--btcpay-primary);

  --btcpay-nav-link: var(--btcpay-neutral-600);
  --btcpay-nav-link-accent: var(--btcpay-neutral-800);
  --btcpay-nav-link-active: #FFFFFF;
  --btcpay-nav-border-active: var(--btcpay-primary);

  --btcpay-form-bg: var(--btcpay-neutral-100);
  --btcpay-form-bg-hover: #0D1B30;
  --btcpay-form-bg-addon: var(--btcpay-neutral-200);
  --btcpay-form-bg-disabled: var(--btcpay-neutral-200);
  --btcpay-form-text: var(--btcpay-neutral-900);
  --btcpay-form-text-label: var(--btcpay-neutral-800);
  --btcpay-form-text-addon: var(--btcpay-neutral-700);
  --btcpay-form-border: var(--btcpay-body-border-medium);
  --btcpay-form-border-check: var(--btcpay-neutral-500);
  --btcpay-form-border-hover: var(--btcpay-primary-600);
  --btcpay-form-border-focus: var(--btcpay-primary);
  --btcpay-form-shadow-focus: rgba(31, 169, 223, 0.35);

  --btcpay-toggle-bg: var(--btcpay-neutral-500);
  --btcpay-toggle-bg-hover: var(--btcpay-neutral-600);
  --btcpay-toggle-bg-active: var(--btcpay-primary);
  --btcpay-toggle-bg-active-hover: var(--btcpay-primary-400);

  --btcpay-footer-text: var(--btcpay-neutral-600);
  --btcpay-footer-link: var(--btcpay-neutral-600);
  --btcpay-footer-link-accent: var(--btcpay-neutral-800);

  --btcpay-code-text: var(--btcpay-primary-300);
  --btcpay-pre-text: var(--btcpay-neutral-900);
  --btcpay-pre-bg: var(--btcpay-neutral-50);

  --btcpay-wizard-bg: var(--btcpay-neutral-100);
}

/* ==========================================================================
   4. Selector overrides — brand polish BTCPay has no variable for.
      Each block is independent; delete any you don't want.
   ========================================================================== */

/* Page: soft cyan/orange glow in the top corners */
body {
  background-image:
    radial-gradient(900px 480px at 0% -10%, rgba(31, 169, 223, 0.11), transparent 60%),
    radial-gradient(760px 420px at 100% 0%, rgba(255, 123, 37, 0.07), transparent 60%);
  background-attachment: fixed;
}
.sticky-header {
  background: rgba(10, 21, 39, 0.82);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

/* Sidebar + top bar: deep navy gradient, brand gradient hairline on top */
#mainMenu {
  background: linear-gradient(180deg, #071226 0%, #050C1B 100%);
}
#mainMenu::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #1FA9DF 0%, #FF7B25 100%);
  z-index: 1;
}
#globalNav {
  background: rgba(5, 12, 27, 0.88);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}
#mainNav .navbar-nav > li.nav-item a.nav-link.active {
  text-shadow: 0 0 18px rgba(31, 169, 223, 0.45);
}

/* Cards / dashboard widgets: elevated surface with a faint sheen */
.widget,
.tile {
  background: linear-gradient(180deg, #13233F 0%, #0F1B33 100%);
  border-color: rgba(255, 255, 255, 0.06);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.28);
}

/* Primary button: cyan gradient, glow on hover */
.btn-primary {
  background-image: linear-gradient(135deg, #2FB4E6 0%, #1283B5 100%);
  border-color: transparent;
  box-shadow: 0 6px 18px rgba(31, 169, 223, 0.28);
  transition: box-shadow var(--btcpay-transition-duration-fast) ease,
              transform var(--btcpay-transition-duration-fast) ease,
              filter var(--btcpay-transition-duration-fast) ease;
}
.btn-primary:hover,
.btn-primary:focus-visible {
  background-image: linear-gradient(135deg, #4ABCE8 0%, #1891C2 100%);
  border-color: transparent;
  box-shadow: 0 8px 26px rgba(31, 169, 223, 0.42);
  filter: saturate(1.05);
}
.btn-primary:active {
  transform: translateY(1px);
  box-shadow: 0 3px 10px rgba(31, 169, 223, 0.30);
}

/* Secondary (outline) button: cyan text, slate border, lifts on hover */
.btn-secondary:hover,
.btn-secondary:focus-visible {
  background: rgba(31, 169, 223, 0.10);
}

/* Invoice status badges that BTCPay hard-codes in site.css */
.badge-new,
.badge-pending {
  background: rgba(31, 169, 223, 0.18);
  color: #86D2F0;
}
.badge-expired {
  background: rgba(130, 145, 171, 0.18);
  color: #C4CEDF;
}
.badge-processing,
.badge-unusual {
  background: var(--btcpay-warning);
  color: #0A1527;
}

/* Tables and dropdowns on navy */
.table > :not(caption) > * > * {
  border-bottom-color: var(--btcpay-body-border-light);
}
.dropdown-menu {
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
}

/* De-brand BTCPay in the admin UI.
   Sidebar: the BTCPay mark is hidden; upload the Coinhub logo under
   Server Settings › Branding › Logo and it renders in the same slot.
   Footer: the BTCPay community links (GitHub, Mattermost, Twitter, Telegram,
   Donate) and the "© BTCPay Server vX" line are hidden; API and Docs stay. */
#StoreSelectorHome .main-logo-btcpay {
  display: none !important;
}
.btcpay-footer a[href*="github.com/btcpayserver"],
.btcpay-footer a[href*="chat.btcpayserver.org"],
.btcpay-footer a[href*="x.com/BtcpayServer"],
.btcpay-footer a[href*="twitter.com/BtcpayServer"],
.btcpay-footer a[href*="telegram.me/btcpayserver"],
.btcpay-footer a[href*="btcpayserver.org/donate"],
.btcpay-footer > div > div.text-center {
  display: none !important;
}

/* Scrollbars (WebKit) */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: #28344A; border-radius: 10px; border: 2px solid #0A1527; }
::-webkit-scrollbar-track { background: transparent; }
